<?php
	namespace Admin\Model;
	use Think\Model;
	class SliderModel extends Model {
		/**
		 * 获取数据库中的轮播图信息
		 */
		public function getData() {
			return $this->where('is_delete=0')->select();
		}
		
		/**
		 * 处理添加的轮播图
		 * @param $post 标题和内容的数组
		 * @param $file 轮播图文件
		 */
		public function dealAdd($post,$file) {
			if($file['size'] > 0) {
				$cfg = array(
					'mimes'         =>  array('image/png','image/gif','image/jpeg'), //允许上传的文件MiMe类型
	       			'maxSize'       =>  102400000, //上传的文件大小限制 (0-不做限制)  10M
	       			'rootPath'      =>  './Uploads/', //保存根路径
				);
				// 创建上传类
				$upload = new \Think\Upload($cfg);
				// 上传单个文件  一维数组
				$info = $upload->uploadOne($file);
				if(!$info){
					// 上传失败
					//var_dump(46);die;
					return false;
				}
				
				// 上传成功, 将路径保存在数据库的thumb字段
				$post['url'] = FILE_UPLOAD_PATH . $info['savepath'] . $info['savename'];
				return $this->add($post);
			}else {
				return false;
			}
		}
		
		/**
		 * 根据id获取指定记录的轮播图信息
		 * @param id 主键id
		 */
		public function getDataById($id) {
			return $this->find($id);
		}
		
		/**
		 * 处理修改的轮播图数据
		 * @param post 轮播图的标题和内容数组
		 * @param file 轮播图新文件
		 */
		public function dealEditSlider($post,$file) {
			if($file['size'] > 0) {
				// 有新文件
				// 删除旧文件
				$path = '.' . $this->getDataById($post['id'])['url'];
				unlink($path);
				$cfg = array(
					'mimes'         =>  array('image/png','image/gif','image/jpeg'), //允许上传的文件MiMe类型
	       			'maxSize'       =>  102400000, //上传的文件大小限制 (0-不做限制)  10M
	       			'rootPath'      =>  './Uploads/', //保存根路径
				);
				// 创建上传类
				$upload = new \Think\Upload($cfg);
				// 上传单个文件  一维数组
				$info = $upload->uploadOne($file);
				if(!$info){
					// 上传失败
					//var_dump(46);die;
					return false;
				}
				// 上传成功, 将路径保存在数据库的url字段
				$post['url'] = FILE_UPLOAD_PATH . $info['savepath'] . $info['savename'];
			}
			return $this->save($post);
		}
		
		/**
		 * 彻底删除根据id
		 */
		public function deleteSlider($id) {
			// 删除旧文件
			$kai = false;
			$path = '.' . $this->getDataById($post['id'])['url'];
			$result = $this->delete($id);
			if($result) {
				unlink($path);
				$kai = true;
			}
			return $kai;
		}
	}
